/**
 * 系统常用内置功能
 */

export default {
    async install(Vue, options) {
        /**
         * 判断内容是否为空
         * TODO  || obj === '0' 在做下拉默认值时候遇到0的情况
         */
        Vue.prototype.$isEmpty = function (obj) {
            if (typeof obj === 'undefined' || obj === null || obj === '') {
                return true
            } else {
                return false
            }
        }
        /**
         * 判断内容是否为空
         */
        Vue.prototype.$isNotEmpty = function (obj) {
            return !this.$isEmpty(obj);
        }
        /**
         *判断是否是数字
         *
         **/
        Vue.prototype.$isNum = function (val) {
            // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除，

            if (val === "" || val == null) {
                return false;
            }
            if (!isNaN(val)) {
                //对于空数组和只有一个数值成员的数组或全是数字组成的字符串，isNaN返回false，例如：'123'、[]、[2]、['123'],isNaN返回false,
                //所以如果不需要val包含这些特殊情况，则这个判断改写为if(!isNaN(val) && typeof val === 'number' )
                return true;
            } else {
                return false;
            }
        }

        /**
         * 字符串截取忽略默认空格
         */
        Vue.prototype.$splitString = function(str, separator) {
            return str.split(separator).filter(item => {
                if (item != '') {
                    return item
                }
            })
        }

        // 下载文件
        Vue.prototype.$downloadFile = function(data, fileName, fileType = 'application/octet-stream') {
            if (!data) {
                return
            }
            let url = window.URL.createObjectURL(new Blob([data], {
                type: fileType
            }))
            let link = document.createElement('a')
            link.style.display = 'none'
            link.href = url
            link.setAttribute('download', fileName)
            document.body.appendChild(link)
            link.click()
        }
    }
}